<dt class="workspace index status" style="margin-left: 286.094px; width: 246.25px;">diff<div class="arrow"></div></dt><dd>Displays the differences not added to the index.</dd>
<dt class="workspace index status" style="margin-left: 286.094px; width: 246.25px;">diff<div class="arrow"></div></dt><dd>Displays the differences not added to the index.</dd>
<dt class="workspace local_repo status" style="margin-left: 286.094px; width: 505px;">diff <<commit or branch>><div class="arrow"></div></dt><dd>View the changes you have in your workspace relative to the named <em>commit</em>. You can use <code>HEAD</code> to compare it with the latest commit, or a branch name to compare with the tip of a different branch</dd>
<dt class="workspace index up" style="margin-left: 286.094px; width: 246.25px;">add <<file... or dir...>><div class="arrow"></div></dt><dd>Adds the current content of new or modified files to the index, thus staging that content for inclusion in the next commit. Use <code>add --interactive</code> to add the modified contents in the workspace interactively to the index.</dd>
<dt class="workspace index up" style="margin-left: 286.094px; width: 246.25px;">add -u<div class="arrow"></div></dt><dd>Adds the current content of modified (NOT NEW) files to the index.  This is similar to what <code>git commit -a</code> does in preparation for making a commit.</dd>
<dt class="workspace index up" style="margin-left: 286.094px; width: 246.25px;">rm <<file(s)...>><div class="arrow"></div></dt><dd>Remove a file from the workspace and the index.</dd>
<dt class="workspace index up" style="margin-left: 286.094px; width: 246.25px;">mv <<file(s)...>><div class="arrow"></div></dt><dd>Move file in the workspace and the index.</dd>
<dt class="workspace local_repo up cc_pointer" style="margin-left: 286.094px; width: 505px;">commit -a <span class="optional">-m 'msg'</span><div class="arrow"></div></dt><dd>Commit all files changed since your last commit, except untracked files (i.e. all files that are already listed in the index). Remove files in the index that have been removed from the workspace.</dd>
<dt class="workspace index dn" style="margin-left: 286.094px; width: 246.25px;">checkout <<files(s)... or dir>><div class="arrow"></div></dt><dd>Updates the file or directory in the workspace. Does NOT switch branches.</dd>
<dt class="index status" style="margin-left: 452.344px; width: 220px;">reset HEAD <<file(s)...>><div class="arrow"></div></dt><dd>Remove the specified files from the next commit. Resets the index but not the working tree (i.e., the changed files are preserved but not marked for commit) and reports what has not been updated.</dd>
<dt class="index local_repo dn cc_pointer" style="margin-left: 552.344px; width: 238.75px;">reset --soft HEAD^<div class="arrow"></div></dt><dd>Undo the last commit, leaving changes in the index.</dd>
<dt class="workspace local_repo dn" style="margin-left: 286.094px; width: 505px;">reset --hard<div class="arrow"></div></dt><dd>Matches the workspace and index to the local tree. WARNING: Any changes to tracked files in the working tree since commit are lost. Use this if merging has resulted in conflicts and you'd like to start over. Pass <code>ORIG_HEAD</code> to undo the most recent successful merge and any changes after.</dd>
<dt class="workspace local_repo dn" style="margin-left: 286.094px; width: 505px;">reset --hard <<remote>>/<<branch>><div class="arrow"></div></dt><dd>Reset local repo and working tree to match a remote-tracking branch. Use <code>reset &amp;#8209;&amp;#8209;hard origin/master</code> to throw away all commits to the local master branch. Use this to start over on a failed merge.</dd>
<dt class="workspace local_repo dn" style="margin-left: 286.094px; width: 505px;">switch <<branch>><div class="arrow"></div></dt><dd>Switches branches by updating the index and workspace to reflect the specified branch, <em>branch</em>, and updating <code>HEAD</code> to be <em>branch</em>.</dd>
<dt class="workspace local_repo dn" style="margin-left: 286.094px; width: 505px;">checkout -b <<name of new branch>><div class="arrow"></div></dt><dd>Create a branch and switch to it</dd>
<dt class="workspace local_repo dn" style="margin-left: 286.094px; width: 505px;">merge <<commit or branch>><div class="arrow"></div></dt><dd>Merge changes from <em>branch name</em> into current branch.<br>Use <code>&amp;#8209;&amp;#8209;no-commit</code> to leave changes uncommitted. Use <code>--no-ff</code> to create a merge commit even if the merge resolves as a fast forward.</dd>
<dt class="workspace local_repo dn" style="margin-left: 286.094px; width: 505px;">rebase <<upstream>><div class="arrow"></div></dt><dd>Reverts all commits since the current branch diverged from <em>upstream</em>, and then re-applies them one-by-one on top of changes from the <code>HEAD</code> of <em>upstream</em>.</dd>
<dt class="workspace local_repo dn" style="margin-left: 286.094px; width: 505px;">cherry-pick <<commit>><div class="arrow"></div></dt><dd>Integrate changes in the given commit into the current branch.</dd>
<dt class="workspace local_repo dn" style="margin-left: 286.094px; width: 505px;">revert <<commit>><div class="arrow"></div></dt><dd>Reverse commit specified by <em>commit</em> and commit the result. This requires your working tree to be clean (no modifications from the <code>HEAD</code> commit).</dd>
<dt class="index local_repo status cc_pointer selected" style="margin-left: 552.344px; width: 238.75px;">diff --cached <span class="optional"><<commit>></span><div class="arrow"></div></dt><dd>View the changes you staged vs the latest commit. Can pass a <em>commit</em> to see changes relative to it.</dd>
<dt class="index local_repo up cc_pointer" style="margin-left: 552.344px; width: 238.75px;">commit <span class="optional">-m 'msg'</span><div class="arrow"></div></dt><dd>Stores the current contents of the index in a new commit along with a log message from the user describing the changes.</dd>
<dt class="index local_repo up" style="margin-left: 552.344px; width: 238.75px;">commit --amend<div class="arrow"></div></dt><dd>Modify the last commit with the current index changes.</dd>
<dt class="local_repo status cc_pointer" style="margin-left: 711.094px; width: 220px;">log<div class="arrow"></div></dt><dd>Show recent commits, most recent on top. Options:<br><code>&amp;#8209;&amp;#8209;decorate</code> with branch and tag names on appropriate commits<br><code>&amp;#8209;&amp;#8209;stat</code> with stats (files changed, insertions, and deletions) <br><code>&amp;#8209;&amp;#8209;author=<em>author</em></code>  only by a certain author<br><code>&amp;#8209;&amp;#8209;after="MMM DD YYYY"</code> ex. (<code>Jun 20 2008</code>) only commits after a certain date<br><code>&amp;#8209;&amp;#8209;before="MMM DD YYYY"</code> only commits that occur before a certain date <br><code>&amp;#8209;&amp;#8209;merge</code> only the commits involved in the current merge conflicts</dd>
<dt class="local_repo status" style="margin-left: 711.094px; width: 220px;">diff <<commit>> <<commit>><div class="arrow"></div></dt><dd>View the changes between two arbitrary commits</dd>
<dt class="local_repo status" style="margin-left: 711.094px; width: 220px;">branch<div class="arrow"></div></dt><dd>List all existing branches. Option <code>-r</code> causes the remote-tracking branches to be listed, and option <code>-a</code> shows both.</dd>
<dt class="local_repo status" style="margin-left: 711.094px; width: 220px;">branch -d <<branch>><div class="arrow"></div></dt><dd>Delete an specified branch. Use <code>-D</code> to force.</dd>
<dt class="local_repo dn cc_pointer" style="margin-left: 711.094px; width: 220px;">branch --track <<new>> <<remote/branch>><div class="arrow"></div></dt><dd>Create a new local branch from a remote-tracking branch.</dd>
<dt class="workspace remote_repo dn" style="margin-left: 286.094px; width: 771.25px;">clone <<repo>><div class="arrow"></div></dt><dd>Download the repository specified by <em>repo</em> and checkout <code>HEAD</code> of the master branch.</dd>
<dt class="workspace remote_repo dn" style="margin-left: 286.094px; width: 771.25px;">pull <<remote>> <<refspec>><div class="arrow"></div></dt><dd>Incorporates changes from a remote repository into the current branch. In its default mode, <code>git pull</code> is shorthand for <code>git fetch</code> followed by <code>git merge FETCH_HEAD</code>.</dd>
<dt class="local_repo remote_repo dn" style="margin-left: 811.094px; width: 246.25px;">fetch <<remote>> <<refspec>><div class="arrow"></div></dt><dd>Download objects and refs from another repository.</dd>
<dt class="local_repo remote_repo up" style="margin-left: 811.094px; width: 246.25px;">push<div class="arrow"></div></dt><dd>Update the server with your commits across all branches that are *COMMON* between your local copy and the server. Local branches that were never pushed to the server in the first place are not shared.</dd>
<dt class="local_repo remote_repo up" style="margin-left: 811.094px; width: 246.25px;">push <<remote>> <<branch>><div class="arrow"></div></dt><dd>Push new (or existing) branch to remote repository</dd>
<dt class="local_repo remote_repo up" style="margin-left: 811.094px; width: 246.25px;">push <<remote>> <<branch>>:<<branch>><div class="arrow"></div></dt><dd>Push new branch to remote repository with a different name</dd>
<dt class="remote_repo status" style="margin-left: 977.344px; width: 220px;">push <<remote>> :<<branch>><div class="arrow"></div></dt><dd>Remove a remote branch. Literally "push nothing to this branch".</dd>
<dt class="workspace dn" style="margin-left: 186.094px; width: 220px;">clean<div class="arrow"></div></dt><dd>Cleans the working tree by recursively removing files that are not under version control, starting from the current directory. Use <code>-n</code> for a "dry run" to see what would be deleted. Use <code>-f</code> to delete the files.</dd>
<dt class="stash index dn" style="margin-left: 68.5938px; width: 463.75px;">stash push <span class="optional"><<msg>></span><div class="arrow"></div></dt><dd>Save your local modifications to a new stash, and run <code>git reset &amp;#8209;&amp;#8209;hard</code> to revert them. The <em>msg</em> part is optional and gives the description along with the stashed state. For quickly making a snapshot, you can omit both <code>save</code> and <em>msg</em>.</dd>
<dt class="stash index up" style="margin-left: 68.5938px; width: 463.75px;">stash pop<div class="arrow"></div></dt><dd>Applies the changes from the last (or specified) stash and then removes the given stash.</dd>
<dt class="stash index up" style="margin-left: 68.5938px; width: 463.75px;">stash apply <span class="optional"><<stash>></span><div class="arrow"></div></dt><dd>Move changes from the specified stash into the workspace. The latest stash is the default.</dd>
<dt class="stash status" style="margin-left: -10px; width: 220px;">stash list<div class="arrow"></div></dt><dd>List the stashes that you currently have.</dd>
<dt class="stash status" style="margin-left: -10px; width: 220px;">stash show <span class="optional"><<stash>></span><div class="arrow"></div></dt><dd>Show the changes recorded in the stash as a diff between the stashed state and its original parent. When no <em>stash</em> is given, shows the latest one.</dd>
<dt class="stash status" style="margin-left: -10px; width: 220px;">stash drop <span class="optional"><<stash>></span><div class="arrow"></div></dt><dd>Remove a single stashed state from the stash list. When no <em>stash</em> is given, it removes the latest one.</dd>
<dt class="stash status" style="margin-left: -10px; width: 220px;">stash clear<div class="arrow"></div></dt><dd>Remove all the stashed states. Note that those states will then be subject to pruning, and may be impossible to recover.</dd>
<dt class="stash local_repo up" style="margin-left: 68.5938px; width: 722.5px;">stash branch <<branchname>> <span class="optional"><<stash>></span><div class="arrow"></div></dt><dd>Creates and checks out a new branch named <em>branchname</em> starting from the commit at which the <em>stash</em> was originally created, applies the changes recorded in <em>stash</em> to the new working tree and index. <br>If that succeeds, and <em>stash</em> is a reference of the form stash@{<em>revision</em>}, it then drops the <em>stash</em>. When no <em>stash</em> is given, applies the latest one. <br>This is useful if the branch on which you ran <code>git stash push</code> has changed enough that <code>git stash apply</code> fails due to conflicts. Since the stash is applied on top of the commit that was <code>HEAD</code> at the time <code>git stash</code> was run, it restores the originally stashed state with no conflicts.</dd>
